// 能源类型枚举
export const ENERGY_TYPE = {
    WATER: 10, // 水
    ELECTRIC: 20, // 电
    GAS: 30, // 气
    HEAT: 40, // 热
};

// 能源类型选项列表
export const ENERGY_TYPE_OPTIONS = [
    { label: "水", value: ENERGY_TYPE.WATER, unit: "吨" },
    { label: "电", value: ENERGY_TYPE.ELECTRIC, unit: "千瓦时" },
    { label: "气", value: ENERGY_TYPE.GAS, unit: "立方米" },
    { label: "热", value: ENERGY_TYPE.HEAT, unit: "J" },
];

// 能源类型名称映射
export const ENERGY_TYPE_NAME_MAP = {
    [ENERGY_TYPE.WATER]: "水",
    [ENERGY_TYPE.ELECTRIC]: "电",
    [ENERGY_TYPE.GAS]: "气",
    [ENERGY_TYPE.HEAT]: "热",
};

// 能源类型单位映射
export const ENERGY_TYPE_UNIT_MAP = {
    [ENERGY_TYPE.WATER]: "吨",
    [ENERGY_TYPE.ELECTRIC]: "千瓦时",
    [ENERGY_TYPE.GAS]: "立方米",
    [ENERGY_TYPE.HEAT]: "J",
};

// 能源类型标签类型映射（用于Element Plus的el-tag组件）
export const ENERGY_TYPE_TAG_TYPE_MAP = {
    [ENERGY_TYPE.WATER]: "primary", // 水 - 蓝色
    [ENERGY_TYPE.ELECTRIC]: "warning", // 电 - 橙色
    [ENERGY_TYPE.GAS]: "success", // 气 - 绿色
    [ENERGY_TYPE.HEAT]: "danger", // 热 - 红色
};

// 能源类型CSS类名映射
export const ENERGY_TYPE_CLASS_MAP = {
    [ENERGY_TYPE.WATER]: "energy-water",
    [ENERGY_TYPE.ELECTRIC]: "energy-electric",
    [ENERGY_TYPE.GAS]: "energy-gas",
    [ENERGY_TYPE.HEAT]: "energy-heat",
};

// 工具函数：根据能源类型值获取名称
export function getEnergyTypeName(energyType) {
    return ENERGY_TYPE_NAME_MAP[energyType] || "-";
}

// 工具函数：根据能源类型值获取标签类型
export function getEnergyTypeTagType(energyType) {
    return ENERGY_TYPE_TAG_TYPE_MAP[energyType] || "info";
}

// 工具函数：根据能源类型值获取CSS类名
export function getEnergyTypeClass(energyType) {
    return ENERGY_TYPE_CLASS_MAP[energyType] || "energy-water";
}

// 工具函数：根据能源类型值获取单位
export function getEnergyTypeUnit(energyType) {
    return ENERGY_TYPE_UNIT_MAP[energyType] || "";
}

// 电价类型枚举
export const ELECTRICITY_TYPE = {
    PEAK: "尖峰", // 尖峰
    HIGH: "高峰", // 高峰
    NORMAL: "平段", // 平段
    VALLEY: "谷段", // 谷段
};

// 电价类型选项列表
export const ELECTRICITY_TYPE_OPTIONS = [
    { label: "尖峰", value: ELECTRICITY_TYPE.PEAK },
    { label: "高峰", value: ELECTRICITY_TYPE.HIGH },
    { label: "平段", value: ELECTRICITY_TYPE.NORMAL },
    { label: "谷段", value: ELECTRICITY_TYPE.VALLEY },
];

// 电价类型标签类型映射
export const ELECTRICITY_TYPE_TAG_TYPE_MAP = {
    [ELECTRICITY_TYPE.PEAK]: "danger", // 尖峰 - 红色
    [ELECTRICITY_TYPE.HIGH]: "warning", // 高峰 - 橙色
    [ELECTRICITY_TYPE.NORMAL]: "info", // 平段 - 蓝色
    [ELECTRICITY_TYPE.VALLEY]: "success", // 谷段 - 绿色
};

// 电价类型颜色映射
export const ELECTRICITY_TYPE_COLOR_MAP = {
    [ELECTRICITY_TYPE.PEAK]: "#f56c6c", // 尖峰 - 红色
    [ELECTRICITY_TYPE.HIGH]: "#e6a23c", // 高峰 - 橙色
    [ELECTRICITY_TYPE.NORMAL]: "#409eff", // 平段 - 蓝色
    [ELECTRICITY_TYPE.VALLEY]: "#67c23a", // 谷段 - 绿色
};

// 工具函数：根据电价类型值获取标签类型
export function getElectricityTypeTagType(electricityType) {
    return ELECTRICITY_TYPE_TAG_TYPE_MAP[electricityType] || "info";
}

// 工具函数：根据电价类型值获取颜色
export function getElectricityTypeColor(electricityType) {
    return ELECTRICITY_TYPE_COLOR_MAP[electricityType] || "#409eff";
}

// 用能单元类型枚举
export const ENERGY_UNIT_TYPE = {
    FACTORY: 0, // 工厂
    BUILDING: 10, // 楼栋
    WORKSHOP: 20, // 车间
    PROCESS: 30, // 工序
    EQUIPMENT: 100, // 设备
};

// 用能单元类型选项列表
export const ENERGY_UNIT_TYPE_OPTIONS = [
    { label: "工厂", value: ENERGY_UNIT_TYPE.FACTORY },
    { label: "楼栋", value: ENERGY_UNIT_TYPE.BUILDING },
    { label: "车间", value: ENERGY_UNIT_TYPE.WORKSHOP },
    { label: "工序", value: ENERGY_UNIT_TYPE.PROCESS },
    { label: "设备", value: ENERGY_UNIT_TYPE.EQUIPMENT },
];

// 用能单元类型名称映射
export const ENERGY_UNIT_TYPE_NAME_MAP = {
    [ENERGY_UNIT_TYPE.FACTORY]: "工厂",
    [ENERGY_UNIT_TYPE.BUILDING]: "楼栋",
    [ENERGY_UNIT_TYPE.WORKSHOP]: "车间",
    [ENERGY_UNIT_TYPE.PROCESS]: "工序",
    [ENERGY_UNIT_TYPE.EQUIPMENT]: "设备",
};

// 用能单元类型标签类型映射
export const ENERGY_UNIT_TYPE_TAG_TYPE_MAP = {
    [ENERGY_UNIT_TYPE.FACTORY]: "danger", // 工厂 - 红色
    [ENERGY_UNIT_TYPE.BUILDING]: "warning", // 楼栋 - 橙色
    [ENERGY_UNIT_TYPE.WORKSHOP]: "primary", // 车间 - 蓝色
    [ENERGY_UNIT_TYPE.PROCESS]: "success", // 工序 - 绿色
    [ENERGY_UNIT_TYPE.EQUIPMENT]: "info", // 设备 - 灰色
};

// 工具函数：根据用能单元类型值获取名称
export function getEnergyUnitTypeName(unitType) {
    return ENERGY_UNIT_TYPE_NAME_MAP[unitType] || "-";
}

// 工具函数：根据用能单元类型值获取标签类型
export function getEnergyUnitTypeTagType(unitType) {
    return ENERGY_UNIT_TYPE_TAG_TYPE_MAP[unitType] || "info";
}